//package com.iflytek.sbd.config;
//
//
//import com.iflytek.sbd.interceptor.LoginInterceptor;
//import com.iflytek.sbd.interceptor.ParameterInterceptor;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
//
//
///**
// * @program: sbd
// * @description:
// * @author: 陈英俊
// * @create: 2021-12-30 15:22
// */
//@Configuration
//public class InterceptorConfig extends WebMvcConfigurationSupport {
//
////    @Value("${a.b}")
////    private String[] b;
//
//
//    /**
//     * addInterceptors()里直接registry.addInterceptor(new 自定义拦截器) 拦截器也是生效的. 这里需要额外多次一举. @Bean呢?
//     * 因为如果不是这样写, 我们在自定义拦截器类里处理业务的时候,假如需要自动注入一些对象,这些对象是null, 需要这样写才会成功注入对象
//     * 解决方式2种:
//     * 第一：　拦截器类添加＠Component注解.在这里@Autwire注入拦截器, 注入的拦截器直接registry.addInterceptor
//     * 第二:　　拦截器不需要添加任何注解，直接在这里如下
//     **/
//    @Bean
//    public LoginInterceptor loginInterceptor() {
//        return new LoginInterceptor();
//    }
//
//    @Bean
//    public ParameterInterceptor parameterInterceptor() {
//        return new ParameterInterceptor();
//    }
//
//    @Override
//    protected void addInterceptors(InterceptorRegistry registry) {
//        /**
//         * 多个拦截器组成拦截器链
//         * addPathPatterns 用于添加拦截规则 /** 表示拦截所有
//         * excludePathPatterns 用户排除拦截 添加了表示路径拦截不到
//         * registry.addInterceptor(拦截器)的顺序决定拦截器执行的顺序
//         */
//        registry.addInterceptor(parameterInterceptor()).addPathPatterns("/**")
//                .excludePathPatterns("/stuInfo/getAllStuInfoA");
//        registry.addInterceptor(loginInterceptor()).addPathPatterns("/**")
//                .excludePathPatterns(b);
//        super.addInterceptors(registry);
//    }
//
//
//    /**
//     * 多个拦截器链处理的属性:
//     * ParameterInterceptor的preHandle
//     * LoginInterceptor的preHandle
//     * 进入controller
//     * LoginInterceptor的postHandle
//     * ParameterInterceptor的postHandle
//     * LoginInterceptor的afterCompletion
//     * ParameterInterceptor的afterCompletion
//     */
//}
